package com.yuexunit.finance.member.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.project.entity.lexicon.FinanceStateEnum;
import com.yuexunit.finance.project.entity.lexicon.ProductTypeEnum;

@Entity
@Table(name = "FIN_MONTH_EARNING_DETAIL")
public class MonthEarningDetailEntity {

	/** 月收益详情ID */
	@Id
	@GeneratedValue
	@Column(name = "MONTH_EARNING_DETAIL_ID")
	private Long monthEarningDetailId;

	/** 融资编号 */
	@Column(name = "FINANCE_NUMBER")
	private String financeNumber;
	
	/** 融资ID*/
	@Column(name = "FINANCE_ID")
	private Long financeId;
	
	/** 业务类型 */
	@Column(name = "PRODUCT_TYPE")
	private ProductTypeEnum productType;
	
	/** 放款时间 */
	@Column(name = "LOAN_DATE")
	private Date loanDate;
	
	/** 计息本金 */
	@Column(name = "VALUATION_AMOUNT")
	private BigDecimal valuationAmount;

	/** 起息日 */
	@Column(name = "SETTLEMENT_START")
	private Date settlementStart;

	/** 结息日 */
	@Column(name = "SETTLEMENT_END")
	private Date settlementEnd;

	/** 费率 */
	@Column(name = "INTEREST_RATE")
	private BigDecimal interestRate;

	/** 还款方式 */
	@Column(name = "PAY_METHOD")
	private String payMethod;

	/** 本月应还 */
	@Column(name = "SHOULD_PAY")
	private BigDecimal shouldPay;
	
	/** 本月已收 */
	@Column(name = "PAID")
	private BigDecimal paid;
	
	/** 企业名 */
	@Column(name = "ENTERPRISE_NAME")
	private String enterpriseName;
	
	/** 企业ID */
	@Column(name = "ENTERPRISE_ID")
	private Long enterpriseId;

	/** 0-无效;1-有效','是否删除 */
	@Column(name = "ENABLED")
	private Boolean enabled;

	/** 创建时间 */
	@Column(name = "CREATE_DT")
	private Date createDt;

	/** 更新时间 */
	@Column(name = "UPDATE_DT")
	private Date updateDt;
	
	/** 融资状态 */
	@Column(name = "FINANCE_STATE")
	private FinanceStateEnum financeState;
	
	/** 年 */
	@Column(name = "YEAR")
	private Integer year;

	/** 月 */
	@Column(name = "MONTH")
	private Integer month;

	public Long getMonthEarningDetailId() {
		return monthEarningDetailId;
	}

	public void setMonthEarningDetailId(Long monthEarningDetailId) {
		this.monthEarningDetailId = monthEarningDetailId;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public ProductTypeEnum getProductType() {
		return productType;
	}

	public void setProductType(ProductTypeEnum productType) {
		this.productType = productType;
	}

	public Date getLoanDate() {
		return loanDate;
	}

	public void setLoanDate(Date loanDate) {
		this.loanDate = loanDate;
	}

	public BigDecimal getValuationAmount() {
		return valuationAmount;
	}

	public void setValuationAmount(BigDecimal valuationAmount) {
		this.valuationAmount = valuationAmount;
	}

	public Date getSettlementStart() {
		return settlementStart;
	}

	public void setSettlementStart(Date settlementStart) {
		this.settlementStart = settlementStart;
	}

	public Date getSettlementEnd() {
		return settlementEnd;
	}

	public void setSettlementEnd(Date settlementEnd) {
		this.settlementEnd = settlementEnd;
	}

	public BigDecimal getInterestRate() {
		return interestRate;
	}

	public void setInterestRate(BigDecimal interestRate) {
		this.interestRate = interestRate;
	}

	public String getPayMethod() {
		return payMethod;
	}

	public void setPayMethod(String payMethod) {
		this.payMethod = payMethod;
	}

	public BigDecimal getShouldPay() {
		return shouldPay;
	}

	public void setShouldPay(BigDecimal shouldPay) {
		this.shouldPay = shouldPay;
	}

	public BigDecimal getPaid() {
		return paid;
	}

	public void setPaid(BigDecimal paid) {
		this.paid = paid;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public Boolean getEnabled() {
		return enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Date getCreateDt() {
		return createDt;
	}

	public void setCreateDt(Date createDt) {
		this.createDt = createDt;
	}

	public Date getUpdateDt() {
		return updateDt;
	}

	public void setUpdateDt(Date updateDt) {
		this.updateDt = updateDt;
	}

	public FinanceStateEnum getFinanceState() {
		return financeState;
	}

	public void setFinanceState(FinanceStateEnum financeState) {
		this.financeState = financeState;
	}

	public Integer getYear() {
		return year;
	}

	public void setYear(Integer year) {
		this.year = year;
	}

	public Integer getMonth() {
		return month;
	}

	public void setMonth(Integer month) {
		this.month = month;
	}
	
}
